iT邦幫忙

2022 iThome 鐵人賽

DAY 15
0
AI & Data

Power BI Desktop 零基礎學習筆記系列 第 15

[Day15] Power BI Desktop - 量值(下)

  • 分享至 

  • xImage
  •  

昨日介紹了SUMX、SUM還有量質與量值間的計算方式,今天將帶來更多更好用的函數,首先第一個

DIVIDE

DIVIDE從字面上翻就有除的意思,而在實作上確實會有很多情況會需要進行相除的動作,拿我做的例子來說,若要計算毛利率時,就需要將淨收入除以總銷售額,因此使用的公式就會如下:

05.毛利率=DIVIDE([04.淨收入],[01.Total Sale])

由於淨收入和總銷售額皆以建立好量值,因此直接使用(記得加上中括號)即可,並且使用DIVIDE第一個是分子,逗號後則是分母,即可正確使用這個函式。但相同的結果同樣也可以使用

05.毛利率=[04.淨收入]/[01.Total Sale]

不管是使用DIVIDE或是「/」這兩個結果會是一樣的,但是這兩個其實有差別的,DIVIDE 函式的設計目的是要自動處理除以零的案例,因此當今天分母為零時,可以回傳空白而不是錯誤,因此DIVIDE又稱安全除法。但是它還是有它的缺點的,那就是它會花費較多的時間進行運算,當資料筆數龐大時就會影響計算速度。因此建議官方建議是,當今天確定分母不會為0且會為常數時,則使用除法運算子(/),反之則使用DIVIDE,這樣才是較佳的選擇唷!
img

COUNTA

我相信這個也是幾乎大家都知道了,使用方式也相當簡單,只要使用COUNTA再加上任一欄為即可,因此如果今天要計算成交筆數的話,可能的公式如下:

06.成交筆數 = COUNTA('銷售明細'[銷售日期])

但可能會有人搞不清楚COUNT與COUNTA的差別,COUNTA幾乎可以說是COUNT的加強版,因為它除了可計算數字、日期、字串外,也可計算COUNT做不到的布林值(TRUE/FALSE)計算,因此要計算數量是可直接使用COUNTA即可。
img

CALCULATE

CALCULATE是一個非常常見且較重要的函式,主要的用途是,如果現在手上有一個運算式,然後此時我需要為這個運算式套上一至多個篩選條件,就可以使用這個函式。

那如果在實際的情況中往往需要分析之前年度的銷售金額或其他資料,而在昨天的內容中我們已經計算了全部的銷售金額,量值名稱為01.Total Sale

01.Total Sale = SUMX('銷售明細',RELATED('產品資料'[單價])*[銷售數量])

因此如果要在這其中篩選出只有去年的資料時,結果就會如下列所式

07.LY Sale = CALCULATE([01.Total Sale],SAMEPERIODLASTYEAR('行事曆'[Date]))

可以看到使用CALCULATE,接著就是運算式,然後一個逗點後就會是篩選的條件(可一至多個),這邊使用到SAMEPERIODLASTYEAR函式,其用途就是會回溯一年的日期,因此裡面的資料型態必須式Dates,而這時就可以使用之前建立的萬年曆(Day11),這樣結果就可以分析出只有一整年的銷售總額了。
img

DATESYTD & TOTALYTD

既然講到了計算上一年的資料了,那當然也要學會如何只有今年的資料,如果要跟上面一樣的做法的話,也就是使用CALCULATE函式的話,就要使用DATESYTD,公式如下:

09.YTD2 = CALCULATE([01.Total Sale], DATESYTD('行事曆'[date]))

img
其實道理是一樣的,只是改成DATESYTD而已。但是其實有更簡單的作法,那就是使用TOTALYTD,因為這個函式裡面必須要把運算式放在裡面,因此就不需要使用到CALCULATE,公式如下:

08.YTD = TOTALYTD([01.Total Sale],'行事曆'[Date])

img
好啦,以上兩天就是量值的內容,明天應該就會講不同的主題了,不過量值其實還是有很多很多沒有介紹,之後有機會的話會在多介紹幾個的~


上一篇
[Day14] Power BI Desktop - 量值(上)
下一篇
[Day16] Power Query用途 - Power BI Desktop
系列文
Power BI Desktop 零基礎學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言